package models

import (
	"gitee.com/dromara/carbon/v2"
)

// Store 门店列表
type Store struct {
	ID               int64         `json:"id" gorm:"id"`                                 // ID
	StoreName        string        `json:"store_name" gorm:"store_name"`                 // 门店名称
	StoreAvatar      string        `json:"store_avatar" gorm:"store_avatar"`             // 门店头图
	Province         string        `json:"province" gorm:"province"`                     // 门店所在省
	City             string        `json:"city" gorm:"city"`                             // 门店所在市
	Area             string        `json:"area" gorm:"area"`                             // 门店所在区
	StoreAddress     string        `json:"store_address" gorm:"store_address"`           // 门店地址
	StoreLocationLon float64       `json:"store_location_lon" gorm:"store_location_lon"` // 门店位置经度
	StoreLocationLat float64       `json:"store_location_lat" gorm:"store_location_lat"` // 门店位置纬度
	StoreDesc        string        `json:"store_desc" gorm:"store_desc"`                 // 门店描述
	StorePhone       string        `json:"store_phone" gorm:"store_phone"`               // 门店联系电话
	StoreOpenTime    carbon.Carbon `json:"store_open_time" gorm:"store_open_time"`       // 门店开始营业时间
	StoreCloseTime   carbon.Carbon `json:"store_close_time" gorm:"store_close_time"`     // 门店结束营业时间
	Order            int64         `json:"order" gorm:"order"`                           // 排序，数字越小越靠前。
	State            int64         `json:"state" gorm:"state"`                           // 门店状态。【100：正常；0：删除；50；停业】
	CreatedAt        carbon.Carbon `json:"created_at" gorm:"created_at"`                 // 创建时间
	UpdatedAt        carbon.Carbon `json:"updated_at" gorm:"updated_at"`                 // 修改时间

	StoreInterval *StoreInterval  `json:"store_interval" gorm:"foreignKey:StoreId"`
	Doctors       []*Doctor       `json:"doctors" gorm:"foreignKey:StoreId"`
	OtherInfo     *StoreOtherInfo `json:"other_info" gorm:"foreignKey:StoreId"` // 门店其他信息
}

// TableName 表名称
func (*Store) TableName() string {
	return "stores"
}
